﻿//using System;
//using System.Net;
//using System.Windows;
//using System.Windows.Controls;
//using System.Windows.Documents;
//using System.Windows.Ink;
//using System.Windows.Input;
//using System.Windows.Media;
//using System.Windows.Media.Animation;
//using System.Windows.Shapes;
//using GameEngine.View.Components;

//namespace GameEditor.View.Components
//{
//    public interface IGameEditorView<
//        MyGameEditorMenuView,
//        MyLevelEditorMenuView,
//        MyWorldEditorMenuView,
//        MyMapEditorMenuView,
//        MyResourceEditorMenuView,
//        MyViewEditorMenuView,
//        MyShapeEditorMenuView,
//        MyThingTypeEditorMenuView,
//        MyThingEditorMenuView,

//        MyGameView,
//        MyLevelView,
//        MyWorldView,
//        MyMapView,
//        MyItemView,

//        MyBaseUIElementType,
//        MyIdType>
//        where MyGameEditorMenuView : IGameEditorMenuView<MyIdType>
//        where MyLevelEditorMenuView : ILevelEditorMenuView<MyIdType>
//        where MyWorldEditorMenuView : IWorldEditorMenuView<MyIdType>
//        where MyResourceEditorMenuView: IResourceEditorMenuView<MyIdType>
//        where MyViewEditorMenuView : IViewEditorMenuView<MyIdType>
//        where MyShapeEditorMenuView : IShapeEditorMenuView<MyIdType>
//        where MyMapEditorMenuView : IMapEditorMenuView
//        where MyThingTypeEditorMenuView : IThingTypeEditorMenuView<MyIdType>
//        where MyThingEditorMenuView : IThingEditorMenuView<MyIdType>

//        where MyGameView : class, IGameView<MyIdType, MyLevelView, MyWorldView, MyMapView, MyItemView, MyBaseUIElementType>
//        where MyLevelView : class, ILevelView<MyIdType, MyWorldView, MyMapView, MyItemView, MyBaseUIElementType>
//        where MyWorldView : class, IWorldView<MyIdType, MyMapView, MyItemView, MyBaseUIElementType>
//        where MyMapView : class, IMapView<MyIdType, MyItemView, MyBaseUIElementType>
//        where MyItemView : class, IThingView<MyIdType, MyBaseUIElementType>

//        where MyIdType : IComparable<MyIdType>
//    {
//        void SetGameEditorMenu(MyGameEditorMenuView view);
//        void SetLevelEditorMenu(MyLevelEditorMenuView view);
//        void SetWorldEditorMenu(MyWorldEditorMenuView view);
//        void SetMapEditorMenu(MyMapEditorMenuView view);
//        //void SetViewEditorMenu(MyViewEditorMenuView view);
//        //void SetThingTypeEditorMenu(MyThingTypeEditorMenuView view);
//        void SetThingEditorMenu(MyThingEditorMenuView view);

//        void setWorldView(MyWorldView view);
//        event Action OnSaveButtonClick;
//        event Action OnExitButtonClick;
//    }
//}
